package com.cy.wangly.feign.client;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient("rest-server")
public interface OrdinaryService {
    /**
     * 默认没有参数会使用get方法
     *
     * @return
     */
    @RequestMapping(value = "/getNum")
    int getRandomInt();

    /**
     * 默认有参数会使用post方法请求，原因请看readme
     * 参数会默认使用RequestBody
     *
     * @param num
     * @return
     */
    @RequestMapping(value = "/addOne")
    int addOne(int num);

    @RequestMapping(value = "/addTwo", method = RequestMethod.GET)
    int addTwo(@RequestParam("num") Integer num);

    /**
     * 这里传递boolean值有个非常有趣的问题。
     * 如果接受方没有写RequestBody，收到的参数永远是false
     *
     * @param b
     * @return
     */
    @RequestMapping(value = "/getOpposite")
    boolean getOpposite(boolean b);
}
